#include <unity.h>
#include "qpcpp.hpp"
#include "bsp.h"
#include "auth_ao.h"
#include "db_ao.h"
#include "ui_ao.h"

// Global AO instances (defined in their respective implementation files)
extern UiAo* const the_AO_Ui;
extern AuthAo* const the_AO_Auth;
extern DbAo* const the_AO_Db;

void setUp(void)
{
    // This is run before EACH test
}

void tearDown(void)
{
    // This is run after EACH test
}

// Test that AO instances are created
void test_ao_instances(void)
{
    TEST_ASSERT_NOT_NULL(the_AO_Ui);
    TEST_ASSERT_NOT_NULL(the_AO_Auth);
    TEST_ASSERT_NOT_NULL(the_AO_Db);
}

int main(void)
{
    UNITY_BEGIN();
    RUN_TEST(test_ao_instances);
    return UNITY_END();
}